depth = [1,2,3,4,5,6,7,8,9,10] iterations = [1000,1050,1100,1150,1200,1250,1300,1350,1400,1450,1500,1550,1600,1750,2000] learning_rate = [0.001,0.005,0.007,0.01,0.02,0.03,0.04,0.05,0.07,0.1] for i in range(len(depth)): for j in range(len(iterations)): for k in range(len(learning_rate)): tuned_cbr = CatBoostRegressor(depth=depth[i], iterations=iterations[j], learning_rate=learning_rate[k],verbose=0).fit(x_train,y_train) pred = tuned_cbr.predict(x_test) pred_y_train = tuned_cbr.predict(x_train) modelname.append('CatBoost Regressor Tuned') r2_score_train.append(r2_score(y_train, pred_y_train)) r2_score_test.append(r2_score(y_test, pred)) score_difference.append(r2_score(y_train, pred_y_train) - r2_score(y_test, pred)) depth_.append(depth[i]) iterations_.append(iterations[j]) learning_rate_.append(learning_rate[k]) report['Model Name'], report['R2_Score(Training)'], report['R2_Score_Testing'] = modelname, r2_score_train, r2_score_test report['Depth'], report['Iterations'], report['Learning Rate'] = depth_, iterations_, learning_rate_ Utility.create_directory('./data/final_report') report.to_csv('./data/final_report/final_report.csv')